package com.ruoyi.system.wnjk.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.system.wnjk.domain.po.ShopOrderDetail;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 【请填写功能名称】对象 shop_order
 *
 * @author ruoyi
 * @date 2025-03-05
 */
@Data
public class ShopOrderVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long id;

    /** 总金额 */
    @Excel(name = "总金额")
    private BigDecimal totalFee;

    /** 支付类型，1、支付宝，2、微信，3、扣减余额 */
    @Excel(name = "支付类型，1、支付宝，2、微信，3、扣减余额")
    private Integer paymentType;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 订单的状态，1、未付款 2、已付款,未发货 3、已发货,未确认 4、确认收货，交易成功 5、交易取消，订单关闭 6、交易结束，已评价 7、售后，退款 8、售后，退货 9、售后，换货 */
    @Excel(name = "订单的状态，1、未付款 2、已付款,未发货 3、已发货,未确认 4、确认收货，交易成功 5、交易取消，订单关闭 6、交易结束，已评价 7、售后，退款 8、售后，退货 9、售后，换货")
    private Integer status;

    /** 地址id */
    @Excel(name = "地址id")
    private Long shopAddressId;

    //订单的商品信息】
    private List<ShopOrderDetail> shopOrderDetailList;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date consignTime;

    /** 交易完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 交易关闭时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易关闭时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date closeTime;

    /** 评价时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "评价时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date commentTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setTotalFee(BigDecimal totalFee)
    {
        this.totalFee = totalFee;
    }

    public BigDecimal getTotalFee()
    {
        return totalFee;
    }
    public void setPaymentType(Integer paymentType)
    {
        this.paymentType = paymentType;
    }

    public Integer getPaymentType()
    {
        return paymentType;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setShopAddressId(Long shopAddressId)
    {
        this.shopAddressId = shopAddressId;
    }

    public Long getShopAddressId()
    {
        return shopAddressId;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setConsignTime(Date consignTime)
    {
        this.consignTime = consignTime;
    }

    public Date getConsignTime()
    {
        return consignTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setCloseTime(Date closeTime)
    {
        this.closeTime = closeTime;
    }

    public Date getCloseTime()
    {
        return closeTime;
    }
    public void setCommentTime(Date commentTime)
    {
        this.commentTime = commentTime;
    }

    public Date getCommentTime()
    {
        return commentTime;
    }

    @Override
    public String toString() {
        return "ShopOrderVo{" +
                "id=" + id +
                ", totalFee=" + totalFee +
                ", paymentType=" + paymentType +
                ", userId=" + userId +
                ", status=" + status +
                ", shopAddressId=" + shopAddressId +
                ", payTime=" + payTime +
                ", consignTime=" + consignTime +
                ", endTime=" + endTime +
                ", closeTime=" + closeTime +
                ", commentTime=" + commentTime +
                ", ShopOrderDetailVoList=" + shopOrderDetailList +
                '}';
    }
}
